package com.woniu.gf.pawn.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.woniu.gf.pawn.comm.core.domain.ProductBrand;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.gf.pawn.comm.core.domain.ProductBrandBigType;
import com.woniu.gf.pawn.product.parma.AddProductBrandParam;
import com.woniu.gf.pawn.product.parma.FindBigBrandParam;

import com.woniu.gf.pawn.product.parma.FindProductBrandPageParam;


import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Lucas
 * @since 2020-10-15
 */
public interface IProductBrandService extends IService<ProductBrand> {

    /**
     * 新增
     * @param productBrand
     */
     void addBrand(ProductBrand productBrand, List<ProductBrandBigType> productBrandBigTypes);

    /**
     * 查询
     * @param
     * @return
     */
    IPage<ProductBrand> selectPageVo(FindProductBrandPageParam findProductBrandPageParam );


    /**
     * 查询大类
     * @param findBigBrandParam
     * @return
     */
    List<Map<Integer, String>> findMapById(FindBigBrandParam findBigBrandParam);

    /**
     * 查询不包含的大类
     * @param findBigBrandParam
     * @return
     */
    List<Map<Integer, String>> findNotMapById(FindBigBrandParam findBigBrandParam);

    /**
     * 修改
     * @param productBrand
     * @param productBrandBigTypes
     */
    void updateBrand(ProductBrand productBrand,List<ProductBrandBigType> productBrandBigTypes);


    /**
     * 删除
     */
    void deleteBrand(List<Integer> brandIds);
}
